Expand description
Low-level graphics abstraction for Rust. Mostly operates on data, not types. Designed for use by libraries and higher-level abstractions only.
Re-exports§
pub use self::factory::Factory;
Modules§
- Memory buffers
- Command Buffer device interface
- Dummy backend implementation to test the code for compile errors outside of the graphics development environment.
- Resource factory
- Universal format specification. Applicable to textures, views, and vertex buffers.
- Resource handles
- Memory mapping
- Types to describe the properties of memory allocated for gfx resources.
- Raw Pipeline State Objects
- Shader handling.
- Fixed-function hardware state.
- Render target specification.
- Texture creation and modification.
Structs§
- Information about a backend adapater.
- Features that the device supports.
- Handle to a backbuffer of the swapchain.
Enums§
- A type of each index value in the slice’s index buffer
- Describes what geometric primitives are created from vertex data.
- A complete set of shaders to link a program. TODO: TransformFeedback
Constants§
- Compile-time maximum number of color targets.
- Compile-time maximum number of constant buffers.
- Compile-time maximum number of shader resource views (SRV).
- Compile-time maximum number of samplers.
- Compile-time maximum number of unordered access views (UAV).
- Compile-time maximum number of vertex attributes.
Traits§
- Represents a physical or virtual device, which is capable of running the backend.
- Dummy trait for command queues. CommandBuffers will be later submitted to command queues instead of the device.
- A
Device
is responsible for submittingCommandBuffer
s to the GPU. QueueFamily
denotes a group of command queues provided by the backend with the same properties/type.- Different types of a specific API.
- A
Surface
abstracts the surface of a native window, which will be presented - The
SwapChain
is the backend representation of the surface. It consists of multiple buffers, which will be presented on the surface.
Type Aliases§
- Slot for an attribute.
- Slot for an active color buffer.
- Slot for a constant buffer object.
- Draw number of instances
- Number of vertices in a patch
- Slot for a shader resource view.
- Slot for a sampler.
- Slot for an unordered access object.
- Draw vertex count.